﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace nwrole.Module.lib
{
    public enum LogLevel
    {
        Critical = 10,
        Error = 20,
        Warning = 30,
        Info = 40,
        Debug = 50
    }

    /*public class ModuleLoggerEventArgs : EventArgs
    {
        public string Message;
        public LogLevel Level;
        public Exception Exception;
    }*/
    
    public interface IModuleLogger
    {
        void Log(LogLevel level, string msg);
    }

    public interface IModuleDebug
    {
        //delegate void ModuleLoggerHandler(object sender, ModuleLoggerEventArgs e);

        //event EventHandler<ModuleLoggerEventArgs> OnLog;

        //void Log(LogLevel level, string msg, Exception ex);

        void Pulse(string message);

        void RegisterLogger(IModuleLogger logger);
        void UnregisterLogger(IModuleLogger logger);
    }
}
